package org.it4.Dominio;

import java.util.Date;

import org.it4.Dominio.AutorBD;

public class TareaBD {
	private int id;
	private String nombre;
	private boolean completada;
	private AutorBD autorBD;
	private Date fechaInicio;
	private Date fechaFin;
	
	private TareaBDManager manager;
	
	public TareaBD() {
		this.id = -1;
		this.nombre = "";
		this.fechaInicio = new Date();
		this.autorBD = new AutorBD();
		this.completada = false;
		this.fechaFin = new Date();
		
		this.manager = new TareaBDManager();
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public boolean isCompletada() {
		return completada;
	}

	public void setCompletada(boolean completada) {
		this.completada = completada;
	}

	public AutorBD getAutorBD() {
		return autorBD;
	}

	public void setAutorBD(AutorBD autorBD) {
		this.autorBD = autorBD;
	}

	public Date getFechaInicio() {
		return fechaInicio;
	}
	
	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}
	
	public Date getFechaFin() {
		return fechaFin;
	}
	
	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}

	@Override
	public String toString() {
		return this.getNombre();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
	
    //Metodo para realizar una lectura en la base de datos
    public boolean read() {
    	return this.manager.read( this );
    }
    
    //Metodo para realizar una insercion en la base de datos
    public boolean insert() {
    	return this.manager.insert( this );
    }
    
    //Metodo para realizar una modificacion en la base de datos
    public boolean update() {
    	//return this.manager.update( this );
    	return false;
    }
    
    //Metodo para realizar una eliminacion en la base de datos
    public boolean delete() {
    	return this.manager.delete( this );
    }

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		TareaBD other = (TareaBD) obj;
		return this.getId() == other.getId();
	}
}